html - XPath 查询 : get attribute href from a tag
全部标签 我有一个简单的sinatra应用程序。我想要做的就是将它用作包装器,以在特定路径上提供静态HTML文件。我的目录结构如下所示:/directorymyhtmlfile.htmlapp.rb我的app.rb文件如下所示:require'sinatra'get'/myspecialroute'dohtml:myhtmlfile#iknowhtmlisnotamethod,butthisiswhatIwouldliketodoend我该如何编写才能使我的html文件保持为纯html文件,但在特殊路径上提供它?解决方案:感谢this,我学会了几种不同的方法:get'/myspecialrout
我还没有找到任何文档或教程。有没有这样的东西?doc.xpath('//table/tbody[@id="threadbits_forum_251"]/tr')上面的代码将在任何地方为我提供任何表,它有一个tbody子级,其属性id等于“threadbits_forum_251”。但是为什么要以双//开头呢?为什么最后会有/tr?有关详细信息,请参阅“RubyNokogiriParsingHTMLtableII”。谁能告诉我如何提取href、id、alt、src等,使用野切?td[3]/div[1]/a/text()'如何提取其他东西? 最佳答案
我正在使用RubyonRails,需要在我的一个html.erb文件中运行一段Ruby代码。我这样做吗:或者像这样:感谢阅读。 最佳答案 如果您需要在View中使用额外的函数,您通常会在帮助程序中声明这些函数。对于每个Controller,如果有一个助手,它会自动加载。例如,如果你有一个PeopleController,在app/helpers文件夹中,应该有一个people_helper.rb,它应该看起来像这样modulePeopleHelperdefname#dosomethingusernameendend另一个非常干净的替
如何在不执行额外查询的情况下过滤AR查询的结果?例如u=User.where(name:"bob",age:[10,20])#1stselectquerytodbu.class#ActiveRecord::Relationtens=u.where(age:10)#2ndselectquerytodb我不希望第二个查询调用数据库,而是过滤在u(第一个查询)中检索到的结果。 最佳答案 ActiveRecord:Relation仅在访问其元素时查询数据库。因此,您拥有的序列根本不会调用数据库,除非您编写类似u.first或tens.fir
像PHP中的DOMDocument类,RUBY中是否有任何类(即核心RUBY),用于从HTML文档中解析和获取节点元素值。 最佳答案 目前还没有内置的HTML解析器,但是有一些非常好的解析器可用,特别是Nokogiri.元答案:对于此类常见需求,我建议您查看RubyToolbox地点。您会注意到Nokogiri是HTMLparsers的最佳推荐 关于ruby-在Ruby中解析HTML文档的方法?,我们在StackOverflow上找到一个类似的问题: http
这应该很简单,但我似乎找不到简单的答案。如何将当前请求的参数值传递到redirect_to调用中?我有一些表单值想传递到GET重定向的查询字符串中我想做这样的事情:redirect_to@thing,:foo=>params[:foo]并发送到:http://things/4?[foo][key1]=val1&[foo][key2]=val2谢谢!此外-对于redirect_to:back如何处理?redirect_to:back,:foo=>params[:foo] 最佳答案 redirect_to的“记录”形式仅将第二个参数用于
我正在尽最大努力构建一个帮助器,输出一个由集合的所有成员组成的。对于集合中的每个成员,我想打印出一个,它有一个标题,以及一个指向该成员的CRUD链接的div。这与Rails为索引View的脚手架输出非常相似。这是我得到的助手:defdisplay_all(collection_sym)collection=collection_sym.to_s.capitalize.singularize.constantize.allname=collection_sym.to_s.downcasehtml=''html"formemberincollectiondohtmlmember.title
classUserhas_many:books我需要一个返回的查询:最近一本书具有:complete=>true的用户。即,如果用户最近的书有:complete=>false,我不希望它们出现在我的结果中。到目前为止我有什么User.joins(:books).merge(Book.where(:complete=>true))这是一个很有希望的开始,但没有给我需要的结果。我试过添加.order("created_ondesc").limit(1)到上述查询的末尾,但是当我期待很多结果时,我最终只得到一个结果。谢谢! 最佳答案 如果
我正在尝试在我的Controller中使用以下行来捕获从当前日期起不到一周的所有任务:@due_this_week=current_user.tasks.where(due_date:Date.today..1.week.from_now)出于某种原因,它没有找到任何结果,即使我知道我有四到六天的任务到期。这是唯一使用范围查询的实例变量。我有另一个可以很好地查找逾期任务的工具:@overdue=current_user.tasks.where("due_date我错过了什么? 最佳答案 应该是:@due_this_week=curr
我目前正在使用RSpec测试我的邮件程序,但我已经开始按照Rails指南中的说明设置多部分电子邮件:http://guides.rubyonrails.org/action_mailer_basics.html#sending-multipart-emails我有文本和html格式的邮件程序模板,但看起来我的测试只检查HTML部分。有没有办法单独检查文本模板?它是否只检查HTMLView,因为它在默认顺序中是第一个? 最佳答案 为了补充nilmethod的出色答案,您可以通过使用共享示例组测试文本和html版本来清理规范:spec_